package ar.uba.fi.algo3.algoTank.model;

import ar.uba.fi.algo3.algoTank.model.escenarios.Escenario;
import ar.uba.fi.algo3.algoTank.model.formas.Figura;
import ar.uba.fi.algo3.algoTank.util.Constantes;

public abstract class Objeto {

	private Enum<Constantes.direccion> direccion;

	private Figura forma;

	private float resistencia;

	public Objeto(Figura forma) {
		direccion = Constantes.direccion.ARRIBA;
		this.forma = forma;
		resistencia = 1;
	}

	public Enum<Constantes.direccion> getDireccion() {
		return direccion;
	}

	public void setDireccion(Enum<Constantes.direccion> direccion) {
		this.direccion = direccion;
	}

	public Figura getForma() {
		return forma;
	}

	public void setForma(Figura forma) {
		this.forma = forma;
	}

	public Vector getPosicion() {
		return forma.getPosicion();
	}

	public void setPosicion(Vector posicion) {
		forma.setPosicion(posicion);
	}

	public float getResistencia() {
		return resistencia;
	}

	public void setResistencia(float resistencia) {
		this.resistencia = resistencia;
	}

	public void quitarResistencia(float danio) {
		resistencia = resistencia - danio;
		if (getResistencia() <= 0) {
			Escenario.getInstancia().quitarObjeto(this);
		}
	}

	public void aumentarResistencia(float cantidad) {
		resistencia = resistencia + cantidad;
	}

}
